package plataforma.log4j;

import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;

/**
 *
 * @author bruno.machado
 * Classe que encapsula o acesso as propriedades definidas em /WEB-INF/config.properties
 *
 */
public class UtilPropriedades {

    static String CAMINHO_PROPERTIES_DEFAULT = "../config.properties";
    static Properties properties = null;

    /**
     Dada uma chave, retorna a propriedade.

     */
    public static String get(String chave) {
        if (properties == null) {
            init();
        }
        return properties.getProperty(chave);
    }

    private static Properties init() {
        try {
            properties = new Properties();


            carregarPropriedades(CAMINHO_PROPERTIES_DEFAULT);

            //dependendo do modo de execucao, carrega as propriedades desse modo
            if (get("sistema.modo").equals("OFICIAL")) {
                carregarPropriedades("../oficial.properties");
            } else if (get("sistema.modo").equals("SIMULADO")) {
                carregarPropriedades("../simulado.properties");
            } else {
                carregarPropriedades("../local.properties");
            }
        } catch (IOException ex) {
            ex.printStackTrace();
            System.out.println("Erro ao Carregar arquivos de propriedades");
        }
        return properties;
    }

    private static void carregarPropriedades(String path) throws IOException {
        InputStream is = UtilPropriedades.class.getClassLoader().getResourceAsStream(path);
        properties.load(is);
        is.close();
    }

}
